@echo off
chcp 65001 >nul
echo ========================================
echo    TownSquare 项目依赖安装脚本
echo ========================================
echo.

echo 检查Node.js是否已安装...
node --version >nul 2>&1
if %errorlevel% neq 0 (
    echo ❌ 错误：未检测到Node.js
    echo.
    echo 请先安装Node.js：
    echo 1. 访问 https://nodejs.org/
    echo 2. 下载并安装 LTS 版本
    echo 3. 安装时确保勾选"Add to PATH"
    echo 4. 安装完成后重启命令提示符
    echo.
    echo 按任意键打开Node.js官网...
    pause >nul
    start https://nodejs.org/
    exit /b 1
)

echo ✅ Node.js已安装
node --version

echo.
echo 检查npm是否可用...
call npm --version >nul 2>&1
if %errorlevel% neq 0 (
    echo ❌ 错误：npm不可用
    echo 尝试重新检测...
    timeout /t 2 /nobreak >nul
    call npm --version >nul 2>&1
    if %errorlevel% neq 0 (
        echo ❌ npm检测失败，但继续尝试安装...
    ) else (
        echo ✅ npm可用
        call npm --version
    )
) else (
    echo ✅ npm可用
    call npm --version
)

echo.
echo ========================================
echo    开始安装项目依赖
echo ========================================
echo.

echo 当前工作目录：%CD%
echo.

echo 正在清理npm缓存...
call npm cache clean --force

echo 正在安装项目依赖...
call npm install

if %errorlevel% neq 0 (
    echo.
    echo ❌ 依赖安装失败
    echo 尝试使用以下方法：
    echo 1. 检查网络连接
    echo 2. 尝试使用国内镜像：npm config set registry https://registry.npmmirror.com
    echo 3. 删除node_modules文件夹后重新安装
    echo.
    echo 是否要尝试使用国内镜像？(Y/N)
    set /p choice=
    if /i "%choice%"=="Y" (
        echo 设置国内镜像...
        call npm config set registry https://registry.npmmirror.com
        echo 重新安装依赖...
        call npm install
        if %errorlevel% neq 0 (
            echo ❌ 安装仍然失败
            pause
            exit /b 1
        )
    ) else (
        pause
        exit /b 1
    )
)

echo.
echo ========================================
echo    ✅ 依赖安装完成！
echo ========================================
echo.
echo 📦 已安装的依赖包括：
echo    - Vue 2.6.12
echo    - Vuex 3.6.0
echo    - WebSocket (ws)
echo    - FontAwesome图标
echo    - Sass预处理器
echo    - ESLint代码检查
echo    - Prettier代码格式化
echo.
echo 🚀 现在可以运行 start_fixed.bat 启动项目
echo.
echo 按任意键关闭此窗口...
pause >nul 